You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/03/23 12:22:16 UTC

svn commit: r1304282 - in /myfaces/tobago/trunk/tobago-extension: tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/ tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/

Author: lofwyr
Date: Fri Mar 23 11:22:16 2012
New Revision: 1304282

URL: http://svn.apache.org/viewvc?rev=1304282&view=rev
Log:
TOBAGO-1104: Possibility to set the id of the date picker

Modified:
    myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/DateExtensionHandler.java
    myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/DateExtensionTag.java

Modified: myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/DateExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/DateExtensionHandler.java?rev=1304282&r1=1304281&r2=1304282&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/DateExtensionHandler.java (original)
+++ myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/DateExtensionHandler.java Fri Mar 23 11:22:16 2012
@@ -18,6 +18,7 @@ package org.apache.myfaces.tobago.facele
  */
 
 import com.sun.facelets.FaceletContext;
+import com.sun.facelets.tag.TagAttribute;
 import com.sun.facelets.tag.jsf.ComponentConfig;
 import com.sun.facelets.tag.jsf.ComponentSupport;
 import org.apache.myfaces.tobago.component.OnComponentCreated;
@@ -31,8 +32,11 @@ import javax.faces.component.UIViewRoot;
 
 public class DateExtensionHandler extends TobagoLabelExtensionHandler {
 
+  private TagAttribute pickerIdAttribute;
+  
   public DateExtensionHandler(ComponentConfig config) {
     super(config);
+    pickerIdAttribute = getAttribute("pickerId");
   }
 
   protected String getSubComponentType() {
@@ -50,8 +54,14 @@ public class DateExtensionHandler extend
       UIDatePicker picker = (UIDatePicker) application.createComponent(UIDatePicker.COMPONENT_TYPE);
       picker.setRendererType(RendererTypes.DATE_PICKER);
       picker.setFor("@auto");
-      UIViewRoot root = ComponentSupport.getViewRoot(faceletContext, parent);
-      picker.setId(root.createUniqueId());
+      final String id;
+      if (pickerIdAttribute !=  null) {
+        id = pickerIdAttribute.getValue(faceletContext);
+      } else {
+        UIViewRoot root = ComponentSupport.getViewRoot(faceletContext, parent);
+        id = root.createUniqueId();
+      }
+      picker.setId(id);
       if (picker.getAttributes().get(OnComponentCreated.MARKER) == null) {
         picker.getAttributes().put(OnComponentCreated.MARKER, Boolean.TRUE);
         picker.onComponentCreated(faceletContext.getFacesContext(), panel);

Modified: myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/DateExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/DateExtensionTag.java?rev=1304282&r1=1304281&r2=1304282&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/DateExtensionTag.java (original)
+++ myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/org/apache/myfaces/tobago/internal/taglib/extension/DateExtensionTag.java Fri Mar 23 11:22:16 2012
@@ -75,6 +75,7 @@ public class DateExtensionTag extends To
   private javax.el.ValueExpression converterMessage;
   private javax.el.ValueExpression requiredMessage;  
   private String fieldId;
+  private String pickerId;
 
   private javax.el.ValueExpression labelWidth;
   private LabelExtensionTag labelTag;
@@ -189,6 +190,9 @@ public class DateExtensionTag extends To
       datePicker.setTabIndex(tabIndex);
     }
     datePicker.setParent(formTag);
+    if (pickerId != null) {
+      datePicker.setId(pickerId);
+    }
     datePicker.setJspId(jspId + PREFIX + idSuffix++);
     datePicker.doStartTag();
     datePicker.doEndTag();
@@ -224,6 +228,7 @@ public class DateExtensionTag extends To
     converterMessage = null;
     requiredMessage = null;
     fieldId = null;
+    pickerId = null;
   }
 
   /**
@@ -444,6 +449,16 @@ public class DateExtensionTag extends To
   }
 
   /**
+   * The component identifier for the input field component inside of the container.
+   * This value must be unique within the closest parent component that is a naming container.
+   */
+  @TagAttribute(rtexprvalue = true)
+  @UIComponentTagAttribute
+  public void setPickerId(String pickerId) {
+    this.pickerId = pickerId;
+  }
+
+  /**
    * The component identifier for this component.
    * This value must be unique within the closest parent component that is a naming container.
    * For tx components the id will be set to the container (e. g. the panel).