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).