[gatein-commits] gatein SVN: r7761 - portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Oct 18 00:34:03 EDT 2011
Author: trong.tran
Date: 2011-10-18 00:34:01 -0400 (Tue, 18 Oct 2011)
New Revision: 7761
Modified:
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormInputBase.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java
Log:
GTNPORTAL-2178 Be able to adapt HTML attributes for UIFormInput components
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormInputBase.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormInputBase.java 2011-10-18 04:19:04 UTC (rev 7760)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormInputBase.java 2011-10-18 04:34:01 UTC (rev 7761)
@@ -20,6 +20,7 @@
package org.exoplatform.webui.form;
import org.exoplatform.commons.serialization.api.annotations.Serialized;
+import org.exoplatform.commons.utils.HTMLEntityEncoder;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.core.UIComponent;
import org.exoplatform.webui.core.UIContainer;
@@ -27,9 +28,13 @@
import org.exoplatform.webui.form.validator.MandatoryValidator;
import org.exoplatform.webui.form.validator.Validator;
+import java.io.IOException;
+import java.io.Writer;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* Created by The eXo Platform SARL
@@ -90,6 +95,11 @@
* Whether this field is in read only mode
*/
protected boolean readonly_ = false;
+
+ /**
+ * A map of HTML attribute
+ */
+ private Map<String, String> attribute;
public UIFormInputBase(String name, String bindingField, Class<T> typeValue)
{
@@ -237,4 +247,36 @@
{
this.label = label;
}
+
+ public String getHTMLAttribute(String name)
+ {
+ if (attribute != null)
+ {
+ return attribute.get(name);
+ }
+ return null;
+ }
+
+ public void setHTMLAttribute(String name, String value)
+ {
+ if (attribute == null)
+ {
+ attribute = new HashMap<String, String>();
+ }
+ attribute.put(name, value);
+ }
+
+ protected void renderHTMLAttribute(Writer w) throws IOException
+ {
+ if (attribute != null)
+ {
+ w.write(" ");
+ for (String name : attribute.keySet())
+ {
+ String value = HTMLEntityEncoder.getInstance().encodeHTMLAttribute(attribute.get(name));
+ w.write(name + "=\"" + value + "\"");
+ }
+ w.write(" ");
+ }
+ }
}
\ No newline at end of file
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java 2011-10-18 04:19:04 UTC (rev 7760)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIFormStringInput.java 2011-10-18 04:34:01 UTC (rev 7761)
@@ -126,6 +126,9 @@
w.write(" readonly ");
if (!enable_)
w.write(" disabled ");
+
+ renderHTMLAttribute(w);
+
w.write("/>");
if (this.isMandatory())
w.write(" *");
More information about the gatein-commits
mailing list