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/05/08 17:00:59 UTC

svn commit: r1335560 - in /myfaces/tobago/trunk: tobago-example/tobago-example-test/src/main/webapp/tc/popup/ tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/ tobago-extension/tobago-facelets/src/main/ja...

Author: lofwyr
Date: Tue May  8 15:00:58 2012
New Revision: 1335560

URL: http://svn.apache.org/viewvc?rev=1335560&view=rev
Log:
TOBAGO-1125: Possibility to set the id of the form of tx:date

Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/popup/popup-bug-tobago-1103.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/BugTobago1103SeleniumTest.java
    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-example/tobago-example-test/src/main/webapp/tc/popup/popup-bug-tobago-1103.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/popup/popup-bug-tobago-1103.xhtml?rev=1335560&r1=1335559&r2=1335560&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/popup/popup-bug-tobago-1103.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/popup/popup-bug-tobago-1103.xhtml Tue May  8 15:00:58 2012
@@ -57,7 +57,7 @@
                           <f:facet name="layout">
                             <tc:gridLayout rows="auto;auto"/>
                           </f:facet>
-                          <tx:date label="Date" id="txdate" fieldId="date" pickerId="picker">
+                          <tx:date label="Date" id="txdate" fieldId="date" pickerId="picker" formId="form">
                             <f:convertDateTime pattern="dd/MM/yyyy"/>
                           </tx:date>
                           <tc:button label="Open Sub Popup (AJAX)" id="open-2">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/BugTobago1103SeleniumTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/BugTobago1103SeleniumTest.java?rev=1335560&r1=1335559&r2=1335560&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/BugTobago1103SeleniumTest.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/popup/BugTobago1103SeleniumTest.java Tue May  8 15:00:58 2012
@@ -32,9 +32,6 @@ public class BugTobago1103SeleniumTest e
   @Test
   public void testWithoutModel() throws InterruptedException {
 
-    // XXX not nice: autogenerated id
-    final String extraId = isFacelet() ? "j_id13:" : "j_id_id31tx2:";
-
     // load page
     open("/tc/popup/popup-bug-tobago-1103.");
     getSelenium().waitForCondition(
@@ -49,19 +46,19 @@ public class BugTobago1103SeleniumTest e
     getSelenium().click("page:popup-1:open-1");
     getSelenium().waitForCondition(
         "selenium.browserbot.getCurrentWindow().document.getElementById("
-            + "'page:popup-1:popup-2:" + extraId + "picker') != null", "5000");
+            + "'page:popup-1:popup-2:form:picker') != null", "5000");
 
     // click on open date popup
-    getSelenium().click("page:popup-1:popup-2:" + extraId + "picker");
+    getSelenium().click("page:popup-1:popup-2:form:picker");
     getSelenium().waitForCondition(
         "selenium.browserbot.getCurrentWindow().document.getElementById("
-            + "'page:popup-1:popup-2:" + extraId + "pickerpopup:cancel') != null", "5000");
+            + "'page:popup-1:popup-2:form:pickerpopup:cancel') != null", "5000");
 
     // click on close date popup
-    getSelenium().click("page:popup-1:popup-2:" + extraId + "pickerpopup:cancel");
+    getSelenium().click("page:popup-1:popup-2:form:pickerpopup:cancel");
     getSelenium().waitForCondition(
         "selenium.browserbot.getCurrentWindow().document.getElementById("
-            + "'page:popup-1:popup-2:" + extraId + "pickerpopup:cancel') == null", "5000");
+            + "'page:popup-1:popup-2:form:pickerpopup:cancel') == null", "5000");
 
     // click on close 2nd popup
     getSelenium().click("page:popup-1:popup-2:close-2");
@@ -86,13 +83,13 @@ public class BugTobago1103SeleniumTest e
     getSelenium().click("page:popup-1:open-1");
     getSelenium().waitForCondition(
         "selenium.browserbot.getCurrentWindow().document.getElementById("
-            + "'page:popup-1:popup-2:" + extraId + "picker') != null", "5000");
+            + "'page:popup-1:popup-2:form:picker') != null", "5000");
 
     // click on open 3rd popup
     getSelenium().click("page:popup-1:popup-2:open-2");
     getSelenium().waitForCondition(
         "selenium.browserbot.getCurrentWindow().document.getElementById("
-            + "'page:popup-1:popup-2:popup-3') != null", "5000");
+            + "'page:popup-1:popup-2:popup-3:close-3') != null", "5000");
 
     // click on close date popup
     getSelenium().click("page:popup-1:popup-2:popup-3:close-3");

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=1335560&r1=1335559&r2=1335560&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 Tue May  8 15:00:58 2012
@@ -34,10 +34,12 @@ import javax.faces.component.UIViewRoot;
 public class DateExtensionHandler extends TobagoLabelExtensionHandler {
 
   private TagAttribute pickerIdAttribute;
-  
+  private TagAttribute formIdAttribute;
+
   public DateExtensionHandler(ComponentConfig config) {
     super(config);
     pickerIdAttribute = getAttribute("pickerId");
+    formIdAttribute = getAttribute("formId");
   }
 
   protected String getSubComponentType() {
@@ -56,20 +58,13 @@ public class DateExtensionHandler extend
 
       UIForm form = (UIForm) application.createComponent(UIForm.COMPONENT_TYPE);
       form.setRendererType(RendererTypes.FORM);
-      form.setId(root.createUniqueId());
+      form.setId(formIdAttribute != null ? formIdAttribute.getValue(faceletContext) : root.createUniqueId());
       panel.getChildren().add(form);
 
       UIDatePicker picker = (UIDatePicker) application.createComponent(UIDatePicker.COMPONENT_TYPE);
       picker.setRendererType(RendererTypes.DATE_PICKER);
       picker.setFor("@auto");
-      final String id;
-      if (pickerIdAttribute !=  null) {
-        id = pickerIdAttribute.getValue(faceletContext);
-      } else {
-        root = ComponentSupport.getViewRoot(faceletContext, parent);
-        id = root.createUniqueId();
-      }
-      picker.setId(id);
+      picker.setId(pickerIdAttribute != null ? pickerIdAttribute.getValue(faceletContext) : root.createUniqueId());
       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=1335560&r1=1335559&r2=1335560&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 Tue May  8 15:00:58 2012
@@ -76,6 +76,7 @@ public class DateExtensionTag extends To
   private javax.el.ValueExpression requiredMessage;  
   private String fieldId;
   private String pickerId;
+  private String formId;
 
   private javax.el.ValueExpression labelWidth;
   private LabelExtensionTag labelTag;
@@ -180,6 +181,9 @@ public class DateExtensionTag extends To
     FormTag formTag = new FormTag();
     formTag.setPageContext(pageContext);
     formTag.setParent(labelTag);
+    if (formId != null) {
+      formTag.setId(formId);
+    }
     formTag.setJspId(jspId + PREFIX + idSuffix++);
     formTag.doStartTag();
 
@@ -229,6 +233,7 @@ public class DateExtensionTag extends To
     requiredMessage = null;
     fieldId = null;
     pickerId = null;
+    formId = null;
   }
 
   /**
@@ -449,7 +454,7 @@ public class DateExtensionTag extends To
   }
 
   /**
-   * The component identifier for the input field component inside of the container.
+   * The component identifier for the automatically created picker component inside of the container.
    * This value must be unique within the closest parent component that is a naming container.
    */
   @TagAttribute(rtexprvalue = true)
@@ -459,6 +464,16 @@ public class DateExtensionTag extends To
   }
 
   /**
+   * The component identifier for the automatically created form 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 setFormId(String formId) {
+    this.formId = formId;
+  }
+
+  /**
    * 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).