[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