You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by te...@apache.org on 2009/08/09 23:11:14 UTC
svn commit: r802606 -
/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
Author: tedst
Date: Sun Aug 9 21:11:13 2009
New Revision: 802606
URL: http://svn.apache.org/viewvc?rev=802606&view=rev
Log:
TAP5-764: Hidden should support ClientElement and support informal parameters
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java?rev=802606&r1=802605&r2=802606&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java Sun Aug 9 21:11:13 2009
@@ -15,8 +15,10 @@
package org.apache.tapestry5.corelib.components;
import org.apache.tapestry5.*;
+import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.FormSupport;
@@ -29,7 +31,8 @@
*
* @since 5.1.0.2
*/
-public class Hidden
+@SupportsInformalParameters
+public class Hidden implements ClientElement
{
/**
* The value to read (when rendering) or update (when the form is submitted).
@@ -44,8 +47,12 @@
@Parameter(required = true)
private ValueEncoder encoder;
+ private String clientId;
+
private String controlName;
+ private Element hiddenInputElement;
+
@Environmental(false)
private FormSupport formSupport;
@@ -61,6 +68,7 @@
@Inject
private Request request;
+
ValueEncoder defaultEncoder()
{
return defaultProvider.defaultValueEncoder("value", resources);
@@ -88,14 +96,18 @@
controlName = formSupport.allocateControlName(resources.getId());
+ clientId = null;
+
formSupport.store(this, new ProcessSubmission(controlName));
String encoded = encoder.toClient(value);
- writer.element("input",
+ hiddenInputElement = writer.element("input",
"type", "hidden",
"name", controlName,
"value", encoded);
+ resources.renderInformalParameters(writer);
+
writer.end();
return false;
@@ -111,6 +123,15 @@
value = decoded;
}
+ public String getClientId() {
+ if (clientId == null)
+ {
+ clientId = renderSupport.allocateClientId(resources);
+ hiddenInputElement.forceAttributes("id", clientId);
+ }
+ return clientId;
+ }
+
public String getControlName()
{
return controlName;
Re: svn commit: r802606 - /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
Posted by Ulrich Stärk <ul...@spielviel.de>.
2 more remarks.
On 09.08.2009 23:11 schrieb tedst@apache.org:
> Author: tedst
> Date: Sun Aug 9 21:11:13 2009
> New Revision: 802606
>
> URL: http://svn.apache.org/viewvc?rev=802606&view=rev
> Log:
> TAP5-764: Hidden should support ClientElement and support informal parameters
>
> Modified:
> tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
>
> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java
> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java?rev=802606&r1=802605&r2=802606&view=diff
> ==============================================================================
> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java (original)
> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Hidden.java Sun Aug 9 21:11:13 2009
> @@ -15,8 +15,10 @@
> package org.apache.tapestry5.corelib.components;
>
> import org.apache.tapestry5.*;
> +import org.apache.tapestry5.dom.Element;
> import org.apache.tapestry5.annotations.Environmental;
> import org.apache.tapestry5.annotations.Parameter;
> +import org.apache.tapestry5.annotations.SupportsInformalParameters;
> import org.apache.tapestry5.ioc.annotations.Inject;
> import org.apache.tapestry5.services.ComponentDefaultProvider;
> import org.apache.tapestry5.services.FormSupport;
> @@ -29,7 +31,8 @@
> *
> * @since 5.1.0.2
> */
> -public class Hidden
> +@SupportsInformalParameters
> +public class Hidden implements ClientElement
> {
> /**
> * The value to read (when rendering) or update (when the form is submitted).
> @@ -44,8 +47,12 @@
> @Parameter(required = true)
> private ValueEncoder encoder;
>
> + private String clientId;
> +
> private String controlName;
>
> + private Element hiddenInputElement;
> +
> @Environmental(false)
> private FormSupport formSupport;
>
> @@ -61,6 +68,7 @@
> @Inject
> private Request request;
>
> +
> ValueEncoder defaultEncoder()
> {
> return defaultProvider.defaultValueEncoder("value", resources);
> @@ -88,14 +96,18 @@
>
> controlName = formSupport.allocateControlName(resources.getId());
>
> + clientId = null;
> +
> formSupport.store(this, new ProcessSubmission(controlName));
>
> String encoded = encoder.toClient(value);
>
> - writer.element("input",
> + hiddenInputElement = writer.element("input",
> "type", "hidden",
> "name", controlName,
> "value", encoded);
please add line break.
> + resources.renderInformalParameters(writer);
> +
> writer.end();
>
> return false;
> @@ -111,6 +123,15 @@
> value = decoded;
> }
>
> + public String getClientId() {
please put opening brace on new line.
> + if (clientId == null)
> + {
> + clientId = renderSupport.allocateClientId(resources);
> + hiddenInputElement.forceAttributes("id", clientId);
> + }
> + return clientId;
> + }
> +
> public String getControlName()
> {
> return controlName;
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org