You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ar...@apache.org on 2009/12/04 00:17:45 UTC
svn commit: r886981 [1/3] - in /myfaces/trinidad/branches/ar_clientBehaviors:
trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/
trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/
trinidad-impl/src/main/ja...
Author: arobinson74
Date: Thu Dec 3 23:17:17 2009
New Revision: 886981
URL: http://svn.apache.org/viewvc?rev=886981&view=rev
Log:
Checkpoint
Modified:
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/RenderUtils.java
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlUtils.java
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/HtmlCommandButtonRenderer.java
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandNavigationItem-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputColor-simple-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputDate-simple-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/inputListOfValues-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/resetButton-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailHeader-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithPrompt-minimalScrRdr-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimal-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalIE-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalIERtl-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalInacc-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalPPC-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalSaf-golden.xml
myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/showDetailWithoutPrompt-minimalScrRdr-golden.xml
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java Thu Dec 3 23:17:17 2009
@@ -21,6 +21,7 @@
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
@@ -28,11 +29,9 @@
import javax.faces.application.ResourceHandler;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIParameter;
import javax.faces.component.UIViewRoot;
-import javax.faces.component.behavior.ClientBehavior;
import javax.faces.component.behavior.ClientBehaviorContext;
-import javax.faces.component.behavior.ClientBehaviorHint;
-import javax.faces.component.behavior.ClientBehaviorHolder;
import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;
@@ -777,155 +776,38 @@
//
/**
- * Renders a non-submission client event handler (onfocus for example) including any associated
- * client behaviors for the event.
- *
- * @param facesContext The faces context
+ * Get a collection of all the parameters that are children of the current component as
+ * client behavior parameters.
* @param component The component
- * @param disabled true if the component is disabled, stops the processing of client behaviors
- * @param eventName The event, without the "on*" prefix, to render
- * @param eventHandlerScript Script to be executed after the behaviors. May be null
- * @param eventAttributeName the event attribute name. Null if it should not be rendered. Example
- * value: onclick
- * @param userHandlerScript user event handler to be executed before the event handler script and
- * any client behavior scripts. May be null.
- * @param params Any parameters that should be sent by behaviors that submit
- * @throws IOException If a rendering exception occurs
+ * @return Collection of parameters (will be non-null)
*/
- protected void renderClientEventHandler(
- FacesContext facesContext,
- UIComponent component,
- boolean disabled,
- String eventName,
- String eventAttributeName,
- Collection<ClientBehaviorContext.Parameter> params,
- String userHandlerScript,
- String eventHandlerScript
- ) throws IOException
+ public static Collection<ClientBehaviorContext.Parameter> getBehaviorParameters(
+ UIComponent component)
{
- List<ClientBehavior> behaviors = null;
- ClientBehaviorContext behaviorContext = null;
-
- if (!disabled && component instanceof ClientBehaviorHolder)
- {
- behaviors = ((ClientBehaviorHolder)component).getClientBehaviors().get(eventName);
- if (behaviors != null && !behaviors.isEmpty())
- {
- behaviorContext = ClientBehaviorContext.createClientBehaviorContext(
- facesContext, component, eventName, component.getClientId(facesContext), params);
- }
- }
- if (params == null)
- {
- params = Collections.emptyList();
- }
-
- boolean hasHandler = eventHandlerScript != null && eventHandlerScript.length() > 0;
- boolean hasUserHandler = userHandlerScript != null && userHandlerScript.length() > 0;
- String script = null;
-
- if (hasHandler && behaviorContext == null && !hasUserHandler)
- {
- script = eventHandlerScript;
- }
- else if (hasUserHandler && behaviorContext == null && !hasHandler)
- {
- script = userHandlerScript;
- }
- else if (!hasUserHandler && !hasHandler && behaviorContext != null && behaviors.size() == 1)
- {
- ClientBehavior behavior = behaviors.get(0);
- script = behavior.getScript(behaviorContext);
- if ("click".equals(eventName) && _isSubmittingBehavior(behavior))
- {
- // prevent the default click action if submitting
- script += ";return false;";
- }
- }
- else
+ int childCount = component.getChildCount();
+ if (childCount > 0)
{
- // There are multiple scripts, we will need to chain the methods.
- int length = behaviors.size();
- if (hasHandler) { ++length; }
- if (hasUserHandler) { ++length; }
- String[] scripts = new String[length];
- int index = 0;
- boolean submitting = false;
- if (hasUserHandler)
- {
- scripts[0] = userHandlerScript;
- index = 1;
- }
- for (int size = behaviors.size() + index; index < size; ++index)
- {
- ClientBehavior behavior = behaviors.get(index);
- scripts[index] = behavior.getScript(behaviorContext);
- submitting |= _isSubmittingBehavior(behavior);
- }
- if (hasHandler)
+ List<ClientBehaviorContext.Parameter> list = null;
+ for (UIComponent child : component.getChildren())
{
- scripts[index] = eventHandlerScript;
- }
+ if (!(child instanceof UIParameter)) { continue; }
- script = RenderUtils.getChainedJS(true, scripts);
- if (submitting && "click".equals(eventName))
- {
- // prevent the default click action if submitting
- script += ";return false;";
+ if (list == null)
+ {
+ // leave plenty of room to hold the parameters
+ list = new ArrayList<ClientBehaviorContext.Parameter>(childCount);
+ }
+ UIParameter param = (UIParameter) child;
+ list.add(new ClientBehaviorContext.Parameter(param.getName(), param.getValue()));
}
- }
- if (script != null)
- {
- facesContext.getResponseWriter().writeAttribute(eventAttributeName, script, null);
- }
- }
-
- protected void encodeParameters(
- Collection<ClientBehaviorContext.Parameter> params,
- StringBuilder builder
- ) throws IOException
- {
- boolean first = true;
- for (ClientBehaviorContext.Parameter param : params)
- {
- if (first)
+ if (list != null)
{
- first = false;
+ return list;
}
- else
- {
- builder.append(',');
- }
- _encodeJsParameter(builder, param.getName(), param.getValue());
}
- }
-
- private boolean _isSubmittingBehavior(
- ClientBehavior behavior)
- {
- return behavior.getHints().contains(ClientBehaviorHint.SUBMITTING);
- }
-
- private void _encodeJsParameter(
- StringBuilder out,
- String name,
- Object value)
- {
- out.append('\'');
- RenderUtils.escapeJS(out, name, true);
- out.append("\':");
- if (value == null)
- {
- out.append("null");
- }
- else
- {
- out.append('\'');
- RenderUtils.escapeJS(out, value.toString(), true);
- out.append('\'');
- }
+ return Collections.<ClientBehaviorContext.Parameter>emptyList();
}
protected void renderEncodedActionURI(
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/RenderUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/RenderUtils.java?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/RenderUtils.java (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/RenderUtils.java Thu Dec 3 23:17:17 2009
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,8 +19,6 @@
package org.apache.myfaces.trinidad.render;
import java.io.IOException;
-
-import java.util.ArrayList;
import java.util.List;
import javax.faces.component.NamingContainer;
@@ -29,12 +27,9 @@
import javax.faces.context.FacesContext;
import org.apache.myfaces.trinidad.component.UIXForm;
-import org.apache.myfaces.trinidad.context.Agent;
-import org.apache.myfaces.trinidad.context.RenderingContext;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
import org.apache.myfaces.trinidad.util.ComponentUtils;
-
/**
* Generic utilities for rendering.
*
@@ -109,21 +104,21 @@
}
/**
- * Given a 'from' component and a relativeId,
+ * Given a 'from' component and a relativeId,
* return the clientId for use at rendering time that will identify the
* id of the component you are referencing on the client.
* This is used for attributes like e.g. "for" and "chooseId".
- *
+ *
* <p>
* e.g., given this hierarchy
* <br/>
- * <f:subview id="aaa">
+ * <f:subview id="aaa">
* <f:subview id="xxx"><br/>
<tr:chooseColor id="cp1" .../><br/>
<f:subview id="yyy"><br/>
<tr:inputColor id="sic1" chooseId="::cp1" .../><br/>
</f:subview><br/>
- </f:subview>
+ </f:subview>
</f:subview><br/>
</p>
<p>
@@ -131,7 +126,7 @@
* The 'relativeId' is "::cp1". ('::' pops up one naming container)
* The return value is 'aaa:xxx:cp1' when
* the clientId of the 'xxx' component is 'aaa:xxx'.
- *
+ *
* </p>
* <p>
* It does not assume that the target component can be located, although it does
@@ -148,7 +143,7 @@
* naming container. If the 'from' component is a naming container, then
* '::' will pop out of the 'from' component itself. A relativeId with ':::' pops up two naming containers, etc.
* ComponentUtils.findRelativeComponent finds and returns the component, whereas
- * this method returns a relativeId that can be used during renderering
+ * this method returns a relativeId that can be used during renderering
* so the component can be found in javascript on the client.
* </p>
* @param context
@@ -167,7 +162,7 @@
{
if (from == null)
return null;
-
+
if ((scopedId == null) || (scopedId.length() == 0))
return null;
@@ -175,41 +170,41 @@
int colonCount = _getColonCount(scopedId);
// colonCount == 0: fully relative
- // colonCount == 1: absolute
+ // colonCount == 1: absolute
// colonCount > 1: for each extra colon after 1, pop out of
// the naming container (to the view root, if naming containers run out)
-
+
if (colonCount == 1)
return scopedId.substring(1);
if (colonCount == 0 && !(from instanceof NamingContainer))
{
- // we do it the fast way if there
+ // we do it the fast way if there
// are no colons and the from isn't a NamingContainer.
// the reason is this use case hasn't changed between the previous
// logic and the current logic for finding the component, so it
- // is already backward compatible, and therefore we don't have to
+ // is already backward compatible, and therefore we don't have to
// call the findComponent code for backward compatibility.
return _getRelativeId(context, from, scopedId, colonCount);
}
-
- //
- // We need to make it backward compatible, and
+
+ //
+ // We need to make it backward compatible, and
// the only way is to use the findRelativeComponent code.
- // This way we'll have a hint that the syntax is 'old' if
- // it can't be found. Plus, findRelativeComponent code has
+ // This way we'll have a hint that the syntax is 'old' if
+ // it can't be found. Plus, findRelativeComponent code has
// backward compatibilty built in.
- UIComponent component =
+ UIComponent component =
ComponentUtils.findRelativeComponent(from, scopedId);
if (component == null && from instanceof NamingContainer)
{
component = ComponentUtils.findRelativeComponent(from.getParent(), scopedId);
if (component != null)
{
- _LOG.warning("DEPRECATED_RELATIVE_ID_SYNTAX",
+ _LOG.warning("DEPRECATED_RELATIVE_ID_SYNTAX",
new Object[] {scopedId, from});
}
}
-
+
// the component wasn't found, but go ahead and return something smart
if (component == null)
{
@@ -222,325 +217,13 @@
}
- /**
- * Return the chained JavaScript
- */
- public static String getChainedJS(
- boolean shortCircuit,
- String... scripts
- )
- {
- if (scripts.length == 0)
- {
- return null;
- }
-
- if (scripts.length == 1)
- {
- return scripts[1];
- }
- // Strip out null & 0-length scripts
- List<String> filteredScripts = new ArrayList<String>(scripts.length);
- for (String script : scripts)
- {
- if (script != null)
- {
- script = script.trim();
- if (script.length() > 0)
- {
- filteredScripts.add(script);
- }
- }
- }
- if (filteredScripts.isEmpty())
- {
- return null;
- }
- else if (filteredScripts.size() == 1)
- {
- return filteredScripts.get(0);
- }
-
- StringBuilder builder = new StringBuilder(100);
- builder.append("return _chainMultiple([");
- boolean first = true;
- for (String script : filteredScripts)
- {
- if (first)
- {
- builder.append('\'');
- first = false;
- }
- else
- {
- builder.append(",'");
- }
- escapeJS(builder, script, true);
- builder.append('\'');
- }
- RenderingContext rc = RenderingContext.getCurrentInstance();
- if (rc.getAgent().getType().equals(Agent.TYPE_DESKTOP))
- {
- if (shortCircuit)
- builder.append("],this,event,true);");
- else
- builder.append("],this,event);");
- }
- else
- {
- // Some mobile browsers do not support DOM Event object.
- // If event is passed, the script crushes before the function gains
- // control.
- if (shortCircuit)
- builder.append("],this,null,true);");
- else
- builder.append("],this,null);");
- }
-
- return builder.toString();
- }
-
- /**
- * Handle escaping '/', and single quotes, plus escaping text inside of
- * quotes with just a String for input. If a String in and a String out is
- * all that is required, this version is more efficient if the String
- * does not need to be escaped.
- */
- public static String escapeJS(
- String inString
- )
- {
- return escapeJS(inString, false /* inQuotes */);
- }
-
- /**
- * Handle escaping '/', and single quotes, plus escaping text inside of
- * quotes with just a String for input. If a String in and a String out is
- * all that is required, this version is more efficient if the String
- * does not need to be escaped.
- */
- public static String escapeJS(
- String inString,
- boolean inQuotes
- )
- {
- int charCount = inString.length();
-
- StringBuilder outBuilder = new StringBuilder(charCount * 2);
-
- escapeJS(outBuilder, inString, inQuotes);
-
- // since we only add characters, if the character count is different, we
- // will have a different output string, otherwise, reuse the input string,
- // as it is unchanged
- if (charCount != outBuilder.length())
- {
- return outBuilder.toString();
- }
- else
- {
- return inString;
- }
- }
-
- /**
- * Handle escaping '/', and single quotes, plus escaping text inside of
- * quotes.
- */
- public static void escapeJS(
- StringBuilder outBuilder,
- String inString
- )
- {
- escapeJS(outBuilder, inString, false /* inQuotes */);
- }
-
- /**
- * Handle escaping '/', and single quotes, plus escaping text inside of
- * quotes.
- */
- public static void escapeJS(
- StringBuilder outBuilder,
- String inString,
- boolean inQuotes)
- {
- escapeJS(outBuilder, inString, inQuotes, 1 /* escapeCount */);
- }
-
- /**
- * Handle escaping '/', and single quotes, plus escaping text inside of
- * quotes.
- */
- public static void escapeJS(
- StringBuilder outBuilder,
- String inString,
- boolean inQuotes,
- int escapeCount
- )
- {
- int leadSlashCount = (int)Math.pow(2, escapeCount) - 2;
- int charCount = inString.length();
-
- char prevChar = '\u0000';
-
- //
- // loop through the string escaping the single quotes at the \'s as
- // necessary
- //
- for (int i = 0; i < charCount; i++)
- {
- char currChar = inString.charAt(i);
-
- if (currChar == '\'')
- {
- if (!(inQuotes && (prevChar == '\\')))
- {
- // only toggle whetehr we are in quotes if the quote isn't escaped
- inQuotes = !inQuotes;
- }
-
- // handle double-escaping case
- // eg. "\'" + escapeJS(builder,"a'b",true,2) + "\'" -> "\'a\\\'b\'"
- for (int j=0; j < leadSlashCount; j++)
- {
- outBuilder.append('\\');
- }
-
- // always escape quotes
- outBuilder.append('\\');
-
- // output the current character
- outBuilder.append(currChar);
- }
- else
- {
- if (inQuotes)
- {
- if (currChar > 255)
- {
- outBuilder.append("\\u");
- _appendHexString(outBuilder, currChar, 4);
- }
- else
- {
- if ((currChar > 31) &&
- (currChar < 128))
- {
- if (currChar == '\\')
- {
- // escape all \'s in strings
- outBuilder.append('\\');
- }
-
- // output the current character
- outBuilder.append(currChar);
- }
- else
- {
- outBuilder.append("\\x");
- _appendHexString(outBuilder, currChar, 2);
- }
- }
- }
- else
- {
- // Double up backslashes (see bug 1676002)
- if (currChar == '\\')
- outBuilder.append('\\');
-
- // output the current character
- outBuilder.append(currChar);
- }
- }
-
- // keep track of the previous character to determine whether
- // single quotes are escaped
- prevChar = currChar;
- }
- }
-
- private static void _escapeSingleQuotes(
- StringBuilder outBuilder,
- String inString
- )
- {
- int charCount = inString.length();
- char prevChar = '\u0000';
- boolean inQuotes = false;
-
- //
- // loop through the string escaping the single quotes at the \'s as
- // necessary
- //
- for (int i = 0; i < charCount; i++)
- {
- char currChar = inString.charAt(i);
-
- if (currChar == '\'')
- {
- if (!(inQuotes && (prevChar == '\\')))
- {
- // only toggle whetehr we are in quotes if the quote isn't escaped
- inQuotes = !inQuotes;
- }
-
- // always escape quotes
- outBuilder.append('\\');
- }
- else if ((currChar == '\\') && inQuotes)
- {
- // escape all \'s in strings
- outBuilder.append('\\');
- }
-
- // output the current character
- outBuilder.append(currChar);
-
- // keep track of the previous character to determine whether
- // single quotes are escaped
- prevChar = currChar;
- }
- }
-
- private static void _appendHexString(
- StringBuilder builder,
- int number,
- int minDigits
- )
- {
- String hexString = Integer.toHexString(number);
-
- int hexLength = hexString.length();
-
- int zeroPadding = minDigits - hexLength;
-
- if (zeroPadding > 0)
- {
- builder.append('0');
-
- while (zeroPadding > 1)
- {
- builder.append('0');
- zeroPadding--;
- }
- }
- else
- {
- if (zeroPadding < 0)
- {
- throw new IllegalArgumentException();
- }
- }
-
- builder.append(hexString);
- }
// This does NOT use findComponent
// ComponentUtils.findRelativeComponent finds the component, whereas
- // this method returns a relativeId that can be used during renderering
+ // this method returns a relativeId that can be used during renderering
// so the component can be found in javascript on the client.
// This code is faster because it doesn't have to find the component.
- // It is used when the getRelativeId's findRelativeComponent cannot find
+ // It is used when the getRelativeId's findRelativeComponent cannot find
// the component. This way we can return the relativeId anyway.
private static String _getRelativeId(
FacesContext context,
@@ -556,8 +239,8 @@
{
relativeId = relativeId.substring(colonCount);
}
-
- // if the component is not a NamingContainer, then we need to
+
+ // if the component is not a NamingContainer, then we need to
// get the component's naming container and set this as the 'from'.
if (!(from instanceof NamingContainer))
@@ -603,7 +286,7 @@
return null;
}
-
+
// Figure out how many colons
private static int _getColonCount(String relativeId)
{
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlUtils.java?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlUtils.java (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlUtils.java Thu Dec 3 23:17:17 2009
@@ -20,13 +20,19 @@
import java.io.IOException;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.faces.component.UIComponent;
+import javax.faces.component.behavior.ClientBehavior;
+import javax.faces.component.behavior.ClientBehaviorContext;
+import javax.faces.component.behavior.ClientBehaviorHint;
+import javax.faces.component.behavior.ClientBehaviorHolder;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
@@ -37,7 +43,6 @@
import org.apache.myfaces.trinidad.context.Agent;
import org.apache.myfaces.trinidad.context.RenderingContext;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
-import org.apache.myfaces.trinidad.render.RenderUtils;
import org.apache.myfaces.trinidadinternal.agent.TrinidadAgent;
import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.jsLibs.Scriptlet;
import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.jsLibs.XhtmlScriptletFactory;
@@ -69,7 +74,6 @@
}
}
-
/**
* Returns true if the agent has enough support for Trinidad
* to launch separate windows. We require both multiple window
@@ -106,7 +110,6 @@
return compID.toString();
}
-
/**
* Registers a scriptlet.
*/
@@ -137,7 +140,6 @@
}
}
-
/**
* Write out a script element importing a library.
* The given URL will only be written once to the page.
@@ -203,16 +205,146 @@
/**
* Return the chained JavaScript
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static String getChainedJS(
String evh1,
String evh2,
boolean shortCircuit
)
{
- return RenderUtils.getChainedJS(shortCircuit, evh1, evh2);
+ //
+ // don't chain if one of the Strings is null or empty
+ //
+ if (evh1 == null)
+ return evh2;
+
+ if (evh2 == null)
+ return evh1;
+
+ int evh1Length = evh1.length();
+
+ if (evh1Length == 0)
+ return evh2;
+
+ int evh2Length = evh2.length();
+
+ if (evh2Length == 0)
+ return evh1;
+
+ //
+ // Chain the results together
+ //
+
+ // allocate enough room for the constants plus double the length
+ // of the possible-escaped strings
+ //
+ StringBuilder outBuilder = new StringBuilder(15 +
+ evh1Length * 2 +
+ 3 +
+ evh2Length * 2 +
+ 18);
+
+ outBuilder.append("return _chain('");
+ _escapeSingleQuotes(outBuilder, evh1);
+ outBuilder.append("','");
+ _escapeSingleQuotes(outBuilder, evh2);
+
+ RenderingContext arc = RenderingContext.getCurrentInstance();
+ boolean isDesktop = (arc.getAgent().getType().equals(Agent.TYPE_DESKTOP));
+
+ if (isDesktop)
+ {
+ if ( shortCircuit )
+ outBuilder.append("',this,event,true)");
+ else
+ outBuilder.append("',this,event)");
+ }
+ else
+ {
+ // Some mobile browsers do not support DOM Event object.
+ // If event is passed, the script crushes before the function gains
+ // control.
+ if ( shortCircuit )
+ outBuilder.append("',this,null,true)");
+ else
+ outBuilder.append("',this,null)");
+ }
+
+ return outBuilder.toString();
+ }
+
+ /**
+ * Return the chained JavaScript
+ */
+ public static String getChainedJS(
+ boolean shortCircuit,
+ String... scripts
+ )
+ {
+ if (scripts.length == 2)
+ {
+ // Use the more efficient code for two scripts
+ return getChainedJS(scripts[0], scripts[1], shortCircuit);
+ }
+
+ if (scripts.length == 0)
+ {
+ return null;
+ }
+
+ if (scripts.length == 1)
+ {
+ return scripts[1];
+ }
+
+ StringBuilder builder = new StringBuilder(100);
+ builder.append("return _chainMultiple([");
+ int firstNonNullScript = -1;
+ int numScripts = 0;
+
+ for (int i = 0, size = scripts.length; i < size; ++i)
+ {
+ String script = scripts[i];
+ if (script == null) { continue; }
+ script = script.trim();
+ if (script.length() == 0) { continue; }
+ ++numScripts;
+
+ if (firstNonNullScript == -1)
+ {
+ builder.append('\'');
+ firstNonNullScript = i;
+ }
+ else
+ {
+ builder.append(",'");
+ }
+ escapeJS(builder, script, true);
+ builder.append('\'');
+ }
+ if (numScripts == 0) { return null; }
+ if (numScripts == 1) { return scripts[firstNonNullScript]; }
+
+ RenderingContext rc = RenderingContext.getCurrentInstance();
+ if (rc.getAgent().getType().equals(Agent.TYPE_DESKTOP))
+ {
+ if (shortCircuit)
+ builder.append("],this,event,true);");
+ else
+ builder.append("],this,event);");
+ }
+ else
+ {
+ // Some mobile browsers do not support DOM Event object.
+ // If event is passed, the script crushes before the function gains
+ // control.
+ if (shortCircuit)
+ builder.append("],this,null,true);");
+ else
+ builder.append("],this,null);");
+ }
+
+ return builder.toString();
}
/**
@@ -220,14 +352,12 @@
* quotes with just a String for input. If a String in and a String out is
* all that is required, this version is more efficient if the String
* does not need to be escaped.
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static String escapeJS(
String inString
)
{
- return RenderUtils.escapeJS(inString);
+ return escapeJS(inString, false /* inQuotes */);
}
/**
@@ -235,51 +365,59 @@
* quotes with just a String for input. If a String in and a String out is
* all that is required, this version is more efficient if the String
* does not need to be escaped.
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static String escapeJS(
String inString,
boolean inQuotes
)
{
- return RenderUtils.escapeJS(inString, inQuotes);
+ int charCount = inString.length();
+
+ StringBuilder outBuilder = new StringBuilder(charCount * 2);
+
+ escapeJS(outBuilder, inString, inQuotes);
+
+ // since we only add characters, if the character count is different, we
+ // will have a different output string, otherwise, reuse the input string,
+ // as it is unchanged
+ if (charCount != outBuilder.length())
+ {
+ return outBuilder.toString();
+ }
+ else
+ {
+ return inString;
+ }
}
/**
* Handle escaping '/', and single quotes, plus escaping text inside of
* quotes.
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static void escapeJS(
StringBuilder outBuilder,
String inString
)
{
- RenderUtils.escapeJS(outBuilder, inString);
+ escapeJS(outBuilder, inString, false /* inQuotes */);
}
/**
* Handle escaping '/', and single quotes, plus escaping text inside of
* quotes.
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static void escapeJS(
StringBuilder outBuilder,
String inString,
boolean inQuotes)
{
- RenderUtils.escapeJS(outBuilder, inString, inQuotes);
+ escapeJS(outBuilder, inString, inQuotes, 1 /* escapeCount */);
}
/**
* Handle escaping '/', and single quotes, plus escaping text inside of
* quotes.
- * @deprecated use method in RenderUtils instead
*/
- @Deprecated
public static void escapeJS(
StringBuilder outBuilder,
String inString,
@@ -287,9 +425,162 @@
int escapeCount
)
{
- RenderUtils.escapeJS(outBuilder, inString, inQuotes, escapeCount);
+ int leadSlashCount = (int)Math.pow(2, escapeCount) - 2;
+ int charCount = inString.length();
+
+ char prevChar = '\u0000';
+
+ //
+ // loop through the string escaping the single quotes at the \'s as
+ // necessary
+ //
+ for (int i = 0; i < charCount; i++)
+ {
+ char currChar = inString.charAt(i);
+
+ if (currChar == '\'')
+ {
+ if (!(inQuotes && (prevChar == '\\')))
+ {
+ // only toggle whetehr we are in quotes if the quote isn't escaped
+ inQuotes = !inQuotes;
+ }
+
+ // handle double-escaping case
+ // eg. "\'" + escapeJS(builder,"a'b",true,2) + "\'" -> "\'a\\\'b\'"
+ for (int j=0; j < leadSlashCount; j++)
+ {
+ outBuilder.append('\\');
+ }
+
+ // always escape quotes
+ outBuilder.append('\\');
+
+ // output the current character
+ outBuilder.append(currChar);
+ }
+ else
+ {
+ if (inQuotes)
+ {
+ if (currChar > 255)
+ {
+ outBuilder.append("\\u");
+ _appendHexString(outBuilder, currChar, 4);
+ }
+ else
+ {
+ if ((currChar > 31) &&
+ (currChar < 128))
+ {
+ if (currChar == '\\')
+ {
+ // escape all \'s in strings
+ outBuilder.append('\\');
+ }
+
+ // output the current character
+ outBuilder.append(currChar);
+ }
+ else
+ {
+ outBuilder.append("\\x");
+ _appendHexString(outBuilder, currChar, 2);
+ }
+ }
+ }
+ else
+ {
+ // Double up backslashes (see bug 1676002)
+ if (currChar == '\\')
+ outBuilder.append('\\');
+
+ // output the current character
+ outBuilder.append(currChar);
+ }
+ }
+
+ // keep track of the previous character to determine whether
+ // single quotes are escaped
+ prevChar = currChar;
+ }
}
+ private static void _appendHexString(
+ StringBuilder builder,
+ int number,
+ int minDigits
+ )
+ {
+ String hexString = Integer.toHexString(number);
+
+ int hexLength = hexString.length();
+
+ int zeroPadding = minDigits - hexLength;
+
+ if (zeroPadding > 0)
+ {
+ builder.append('0');
+
+ while (zeroPadding > 1)
+ {
+ builder.append('0');
+ zeroPadding--;
+ }
+ }
+ else
+ {
+ if (zeroPadding < 0)
+ {
+ throw new IllegalArgumentException();
+ }
+ }
+
+ builder.append(hexString);
+ }
+
+ private static void _escapeSingleQuotes(
+ StringBuilder outBuilder,
+ String inString
+ )
+ {
+ int charCount = inString.length();
+ char prevChar = '\u0000';
+ boolean inQuotes = false;
+
+ //
+ // loop through the string escaping the single quotes at the \'s as
+ // necessary
+ //
+ for (int i = 0; i < charCount; i++)
+ {
+ char currChar = inString.charAt(i);
+
+ if (currChar == '\'')
+ {
+ if (!(inQuotes && (prevChar == '\\')))
+ {
+ // only toggle whetehr we are in quotes if the quote isn't escaped
+ inQuotes = !inQuotes;
+ }
+
+ // always escape quotes
+ outBuilder.append('\\');
+ }
+ else if ((currChar == '\\') && inQuotes)
+ {
+ // escape all \'s in strings
+ outBuilder.append('\\');
+ }
+
+ // output the current character
+ outBuilder.append(currChar);
+
+ // keep track of the previous character to determine whether
+ // single quotes are escaped
+ prevChar = currChar;
+ }
+ }
public static String getJSIdentifier(String clientId)
{
if (clientId == null)
@@ -354,6 +645,117 @@
}
+ /**
+ * Renders a non-submission client event handler (onfocus for example) including any associated
+ * client behaviors for the event.
+ *
+ * @param facesContext The faces context
+ * @param component The component
+ * @param disabled true if the component is disabled, stops the processing of client behaviors
+ * @param eventName The event, without the "on*" prefix, to render
+ * @param eventHandlerScript Script to be executed after the behaviors. May be null
+ * @param eventAttributeName the event attribute name. Null if it should not be rendered. Example
+ * value: onclick
+ * @param userHandlerScript user event handler to be executed before the event handler script and
+ * any client behavior scripts. May be null.
+ * @param params Any parameters that should be sent by behaviors that submit
+ * @throws IOException If a rendering exception occurs
+ */
+ public static void renderClientEventHandler(
+ FacesContext facesContext,
+ UIComponent component,
+ boolean disabled,
+ String eventName,
+ String eventAttributeName,
+ Collection<ClientBehaviorContext.Parameter> params,
+ String userHandlerScript,
+ String eventHandlerScript
+ ) throws IOException
+ {
+ List<ClientBehavior> behaviors = null;
+ ClientBehaviorContext behaviorContext = null;
+
+ if (!disabled && component instanceof ClientBehaviorHolder)
+ {
+ behaviors = ((ClientBehaviorHolder)component).getClientBehaviors().get(eventName);
+ if (behaviors != null && !behaviors.isEmpty())
+ {
+ behaviorContext = ClientBehaviorContext.createClientBehaviorContext(
+ facesContext, component, eventName, component.getClientId(facesContext), params);
+ }
+ }
+ if (params == null)
+ {
+ params = Collections.emptyList();
+ }
+
+ boolean hasHandler = eventHandlerScript != null && eventHandlerScript.length() > 0;
+ boolean hasUserHandler = userHandlerScript != null && userHandlerScript.length() > 0;
+ String script = null;
+
+ if (hasHandler && behaviorContext == null && !hasUserHandler)
+ {
+ script = eventHandlerScript;
+ }
+ else if (hasUserHandler && behaviorContext == null && !hasHandler)
+ {
+ script = userHandlerScript;
+ }
+ else if (!hasUserHandler && !hasHandler && behaviorContext != null && behaviors.size() == 1)
+ {
+ ClientBehavior behavior = behaviors.get(0);
+ script = behavior.getScript(behaviorContext);
+ if ("click".equals(eventName) && _isSubmittingBehavior(behavior))
+ {
+ // prevent the default click action if submitting
+ script += ";return false;";
+ }
+ }
+ else
+ {
+ // There are multiple scripts, we will need to chain the methods.
+ int length = behaviors.size();
+ if (hasHandler) { ++length; }
+ if (hasUserHandler) { ++length; }
+ String[] scripts = new String[length];
+ int index = 0;
+ boolean submitting = false;
+ if (hasUserHandler)
+ {
+ scripts[0] = userHandlerScript;
+ index = 1;
+ }
+ for (int size = behaviors.size() + index; index < size; ++index)
+ {
+ ClientBehavior behavior = behaviors.get(index);
+ scripts[index] = behavior.getScript(behaviorContext);
+ submitting |= _isSubmittingBehavior(behavior);
+ }
+ if (hasHandler)
+ {
+ scripts[index] = eventHandlerScript;
+ }
+
+ script = getChainedJS(true, scripts);
+ if (submitting && "click".equals(eventName))
+ {
+ // prevent the default click action if submitting
+ script += ";return false;";
+ }
+ }
+
+ if (script != null)
+ {
+ facesContext.getResponseWriter().writeAttribute(eventAttributeName, script, null);
+ }
+ }
+
+ private static boolean _isSubmittingBehavior(
+ ClientBehavior behavior)
+ {
+ return behavior.getHints().contains(ClientBehaviorHint.SUBMITTING);
+ }
+
/** HashMap mapping names to their scriptlets */
private static Map<Object, Scriptlet> _sScriptletTable =
Collections.synchronizedMap(new HashMap<Object, Scriptlet>(37));
@@ -378,5 +780,4 @@
}
private static final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(XhtmlUtils.class);
-
}
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/HtmlCommandButtonRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/HtmlCommandButtonRenderer.java?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/HtmlCommandButtonRenderer.java (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/HtmlCommandButtonRenderer.java Thu Dec 3 23:17:17 2009
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -48,42 +48,42 @@
UIComponent component)
throws IOException
{
- if (!component.isRendered())
+ if (!component.isRendered())
{
return;
}
-
+
Map<String, Object> attrs = component.getAttributes();
UICommand command = (UICommand) component;
// Which button type (SUBMIT, RESET, or BUTTON) should we generate?
String type = CoreRenderer.toString(attrs.get("type"));
- if (type == null)
+ if (type == null)
{
type = "submit";
}
ResponseWriter writer = context.getResponseWriter();
-
+
String label = CoreRenderer.toString(command.getValue());
-
+
String imageSrc = CoreRenderer.toResourceUri(context, attrs.get("image"));
writer.startElement("input", component);
String id = component.getClientId(context);
writer.writeAttribute("id", id, "id");
writer.writeAttribute("name", id, null);
boolean isImage = (imageSrc != null);
- if (isImage)
+ if (isImage)
{
imageSrc = context.getExternalContext().encodeResourceURL(imageSrc);
writer.writeAttribute("type", "image", "type");
writer.writeURIAttribute("src", imageSrc, "image");
- }
- else
+ }
+ else
{
writer.writeAttribute("type", type.toLowerCase(), "type");
writer.writeAttribute("value", label, "value");
}
-
+
RenderingContext arc = RenderingContext.getCurrentInstance();
String script;
// If it's an image, we can't really go through the full-page submit
@@ -136,8 +136,8 @@
}
private void _writeBooleanPassThruAttr(
- ResponseWriter out,
- Map<String, Object> attrs,
+ ResponseWriter out,
+ Map<String, Object> attrs,
String key)
throws IOException
{
@@ -149,8 +149,8 @@
}
private void _writePassThruAttrs(
- ResponseWriter out,
- Map<String, Object> attrs,
+ ResponseWriter out,
+ Map<String, Object> attrs,
String[] keys)
throws IOException
{
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimal-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimal-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimal-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimal-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -335,7 +335,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIE-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIE-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIE-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -335,7 +335,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIERtl-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIERtl-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalIERtl-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -335,7 +335,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalInacc-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalInacc-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalInacc-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalInacc-golden.xml Thu Dec 3 23:17:17 2009
@@ -159,7 +159,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -279,7 +279,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalPPC-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalPPC-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalPPC-golden.xml Thu Dec 3 23:17:17 2009
@@ -183,7 +183,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoadNoPPR()','test-onload'],this,null);"
+ onload="return _chain('_checkLoadNoPPR()','test-onload',this,null)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalSaf-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalSaf-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalSaf-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -335,7 +335,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalScrRdr-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalScrRdr-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/body-minimalScrRdr-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<body
id="mainId"
- onload="return _chainMultiple(['_checkLoad()','test-onload'],this,event);"
+ onload="return _chain('_checkLoad()','test-onload',this,event)"
onunload="_checkUnload(event)"
>
@@ -335,7 +335,7 @@
<body
id="mainId"
onload="_checkLoad()"
- onunload="return _chainMultiple(['_checkUnload(event)','test-onunload'],this,event);"
+ onunload="return _chain('_checkUnload(event)','test-onunload',this,event)"
>
<a
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimal-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimal-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimal-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimal-golden.xml Thu Dec 3 23:17:17 2009
@@ -1332,7 +1332,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIE-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIE-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIE-golden.xml Thu Dec 3 23:17:17 2009
@@ -1266,7 +1266,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\'); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\'); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIERtl-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIERtl-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalIERtl-golden.xml Thu Dec 3 23:17:17 2009
@@ -1266,7 +1266,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\'); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\'); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalInacc-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalInacc-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalInacc-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalInacc-golden.xml Thu Dec 3 23:17:17 2009
@@ -1266,7 +1266,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalSaf-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalSaf-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalSaf-golden.xml Thu Dec 3 23:17:17 2009
@@ -1332,7 +1332,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalScrRdr-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalScrRdr-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/chooseColor-minimalScrRdr-golden.xml Thu Dec 3 23:17:17 2009
@@ -1332,7 +1332,7 @@
<span
id="mainId"
- onclick="return _chainMultiple(['test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false'],this,event,true);"
+ onclick="return _chain('test-onclick','_onCPSel(\'mainId\',\'_cfbs(event)\',event); return false',this,event,true)"
>
<table
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml Thu Dec 3 23:17:17 2009
@@ -184,7 +184,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml Thu Dec 3 23:17:17 2009
@@ -184,7 +184,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml Thu Dec 3 23:17:17 2009
@@ -184,7 +184,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml Thu Dec 3 23:17:17 2009
@@ -183,7 +183,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml Thu Dec 3 23:17:17 2009
@@ -191,7 +191,7 @@
<input
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,null,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,null,true)"
type="submit"
value="ButtonText"
id="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml Thu Dec 3 23:17:17 2009
@@ -184,7 +184,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml Thu Dec 3 23:17:17 2009
@@ -178,7 +178,7 @@
<button
class="af_commandButton"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
type="button"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimal-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimal-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimal-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimal-golden.xml Thu Dec 3 23:17:17 2009
@@ -177,7 +177,7 @@
<a
class="OraLink"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
href="uri-attr:encoded-action-url:#"
id="uri-attr:mainId"
name="uri-attr:mainId"
Modified: myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIE-golden.xml?rev=886981&r1=886980&r2=886981&view=diff
==============================================================================
--- myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIE-golden.xml (original)
+++ myfaces/trinidad/branches/ar_clientBehaviors/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandLink-minimalIE-golden.xml Thu Dec 3 23:17:17 2009
@@ -177,7 +177,7 @@
<a
class="OraLink"
- onclick="return _chainMultiple(['test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;'],this,event,true);"
+ onclick="return _chain('test-onclick','submitForm(\'formId\',1,{source:\'mainId\'});return false;',this,event,true)"
href="uri-attr:encoded-action-url:#"
id="uri-attr:mainId"
name="uri-attr:mainId"